﻿//=============================================================================
// Project  : NIPO Component Framework
// File    : DTOList.cs
// Author  : Bernhard Dieber (Bernhard.Dieber@uni-klu.ac.at)
// Copyright 2010 by Bernhard Dieber
// This code is published under the Microsoft Public License (Ms-PL).  A copy
// of the license should be distributed with the code.  It can also be found
// at the project website: http://NIPO.CodePlex.com.   This notice, the
// author's name, and all copyright notices must remain intact in all
// applications, documentation, and source files.
//=============================================================================

using System;
using System.Collections.Generic;
using System.Text;

namespace NIPO.Data
{
    /// <summary>
    /// Encapsulates a List of DataTransferObjects into a single DTO
    /// </summary>
    public class DTOList:DataTransferObject
    {
        /// <summary>
        /// Gets or sets the transfer objects.
        /// </summary>
        /// <value>The transfer objects.</value>
        public List<DataTransferObject> TransferObjects { get; set; }

        /// <summary>
        /// Initializes a new instance of the <see cref="DTOList"/> class.
        /// </summary>
        /// <param name="transferObjects">The transfer objects.</param>
        /// <param name="contentDescription">The content description.</param>
        /// <param name="contentSize">Size of the content.</param>
        /// <param name="timestamp">The timestamp.</param>
        public DTOList(List<DataTransferObject> transferObjects, string contentDescription, long contentSize, DateTime timestamp) :this(contentDescription,contentSize, timestamp)
        {
            TransferObjects = transferObjects;
        }

        /// <summary>
        /// Initializes a new instance of the <see cref="DTOList"/> class.
        /// </summary>
        /// <param name="contentDescription">The content description.</param>
        /// <param name="contentSize">Size of the content.</param>
        /// <param name="timestamp">The timestamp.</param>
        public DTOList(string contentDescription, long contentSize, DateTime timestamp)
            : base(typeof(List<DataTransferObject>), contentDescription, contentSize, timestamp)
        {
            
        }
    }
}
